package destiny.神煞;

import destiny.支.地支;
import destiny.预测.干支数;
import destiny.预测.支数;

public class 华盖 extends 用神煞 {
	protected 华盖() {
		message = "主有艺术或技艺，往往与命理、气功、宗教、武术、僧道等有缘。";
	}

	@Override
	public String getName() {
		return "华盖";
	}

	@Override
	protected void 神煞(干支数[] 柱数, int 年序, int 月序, int 日序) {
		地支 年支 = 柱数[年序].支数().地支(), 日支 = 柱数[日序].支数().地支(), 支;
		for (int i = 0; i < 柱数.length; ++i) {
			if (i == 年序)
				continue;
			支数 支数 = 柱数[i].支数();
			支 = 支数.地支();

			if (地支.寅.equals(年支) || 地支.午.equals(年支) || 地支.戌.equals(年支)) {
				if (地支.戌.equals(支))
					支数.神煞().add(new 神煞(this, false, 年序));
			} else if (地支.申.equals(年支) || 地支.子.equals(年支) || 地支.辰.equals(年支)) {
				if (地支.辰.equals(支))
					支数.神煞().add(new 神煞(this, false, 年序));
			} else if (地支.巳.equals(年支) || 地支.酉.equals(年支) || 地支.丑.equals(年支)) {
				if (地支.丑.equals(支))
					支数.神煞().add(new 神煞(this, false, 年序));
			} else if (地支.亥.equals(年支) || 地支.卯.equals(年支) || 地支.未.equals(年支)) {
				if (地支.未.equals(支))
					支数.神煞().add(new 神煞(this, false, 年序));
			}
		}
		for (int i = 0; i < 柱数.length; ++i) {
			if (i == 日序)
				continue;
			支数 支数 = 柱数[i].支数();
			支 = 支数.地支();

			if (地支.寅.equals(日支) || 地支.午.equals(日支) || 地支.戌.equals(日支)) {
				if (地支.戌.equals(支))
					支数.神煞().add(new 神煞(this, false, 日序));
			} else if (地支.申.equals(日支) || 地支.子.equals(日支) || 地支.辰.equals(日支)) {
				if (地支.辰.equals(支))
					支数.神煞().add(new 神煞(this, false, 日序));
			} else if (地支.巳.equals(日支) || 地支.酉.equals(日支) || 地支.丑.equals(日支)) {
				if (地支.丑.equals(支))
					支数.神煞().add(new 神煞(this, false, 日序));
			} else if (地支.亥.equals(日支) || 地支.卯.equals(日支) || 地支.未.equals(日支)) {
				if (地支.未.equals(支))
					支数.神煞().add(new 神煞(this, false, 日序));
			}
		}
	}
}
